import mockjs from 'mockjs';
import { chunk } from 'lodash';
import { delay } from 'roadhog-api-doc';

const { mock } = mockjs;

// // 职级类型
// const MOCK1 = mock({
//     'data|5': [
//         {
//             id: '@natural(2208728, 8208728)',
//             gradeTypeName: '@cword(3, 5)',
//             gradeTypeDesc: '@cword(10, 20)',
//             'companyId|1': [100, 101, 102],
//             'state|1': [0, 1, 2, 3]
//         }
//     ]
// });

// // 职级列表
// const MOCK2 = mock({
//     'data|5': [
//         {
//             id: '@natural(2208728, 8208728)',
//             gradeName: '@cword(3, 5)',
//             gradeDesc: '@cparagraph(500)',
//             'postCount|1-10': 10,
//             'gradeCode|1': ['VM5', 'VP3', 'VP5'],
//             'state|1': [0, 1, 2, 3]
//         }
//     ]
// });

// // 职级类型与职级
// const MOCK3 = mock({
//     'data|5': [
//         {
//             gradeTypeId: '@natural(2208728, 8208728)',
//             gradeTypeName: '@cword(3, 5)',
//             gradeTypeDesc: '@cword(100, 500)',
//             'postGradeVOList|5': [
//                 {
//                     id: '@natural(2208728, 8208728)',
//                     gradeName: '@cword(3, 5)',
//                     gradeDesc: '@cparagraph()',
//                     'postCount|1-10': 10,
//                     'gradeCode|1': ['VM5', 'VP3', 'VP5'],
//                     'state|1': [0, 1, 2, 3]
//                 }
//             ]
//         }
//     ]
// });

// 历史记录
const MOCK4 = mock({
    'data|56': [
        {
            'id|+1': 1,
            companyName: '微微科技集团',
            groupName: '@cword(3, 5)考勤规则',
            employeeCnt: '@natural(0, 100)',
            type: '@natural(1,3)',
            time: '周六、周日 休息\n周一、周二、周三、周四、周五 默认班次: 09:00-18:00',
            common: 1,
            companyId: 100,
            enable: 1
        }
    ]
});

const proxy = {
    'POST /api/oa/v1/attendance/group2': (req, res) => {
        const { pageSize = 10, pageNo = 1, name } = JSON.parse(req?.body?.params) || {};
        let { data } = MOCK4;

        /* 模拟搜索 */
        if (name !== '') {
            data = data.filter(item => item.name === name);
        }

        /* 模拟分页 */
        const chunkedData = chunk(data, pageSize);

        res.json({ code: 10000, data: { rows: chunkedData[pageNo - 1], total: data.length } });
    }
};

export default delay(proxy, 1000);
